Kein Bug. Ein Function-Style-Cast funktioniert mehr oder weniger nur mit Typen, die als 1 Wort geschrieben werden können. Insbesondere also nicht unsigned char. Kann man im Standard unter 8.2.3 (C++17 Draft) oder bei https://en.cppreference.com/w/cpp/language/explicit_cast nachlesen.